/**
 * 
 */
package myTeam.timeShop.dao.impl;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import myTeam.timeShop.bean.TbRequest;
import myTeam.timeShop.dao.RequestDao;

/**
 * @author jiangjintai
 *
 */
@Repository("requestDao")
public class RequestDapImpl implements RequestDao {
	@Autowired
	SessionFactory sessionFactory;
	
	private Session getSession(){
		return this.sessionFactory.getCurrentSession();
	}
	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.GenericDao#load(java.io.Serializable)
	 */
	@Override
	public TbRequest load(String id) {
		// TODO 自动生成的方法存根
		return this.getSession().load(TbRequest.class, Integer.valueOf(id));
	}

	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.GenericDao#get(java.io.Serializable)
	 */
	@Override
	public TbRequest get(String id) {
		// TODO 自动生成的方法存根
		return this.getSession().get(TbRequest.class, Integer.valueOf(id));
	}

	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.GenericDao#findAll()
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<TbRequest> findAll() {
		// TODO 自动生成的方法存根
		return this.getSession().createQuery("from TbRequest").list();
	}

	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.GenericDao#persist(java.lang.Object)
	 */
	@Override
	public void persist(TbRequest entity) {
		// TODO 自动生成的方法存根
		this.getSession().persist(entity);
	}

	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.GenericDao#save(java.lang.Object)
	 */
	@Override
	public String save(TbRequest entity) {
		// TODO 自动生成的方法存根
		return (String) this.getSession().save(entity).toString();
	}

	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.GenericDao#saveOrUpdate(java.lang.Object)
	 */
	@Override
	public void saveOrUpdate(TbRequest entity) {
		// TODO 自动生成的方法存根
		this.getSession().saveOrUpdate(entity);
	}

	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.GenericDao#delete(java.io.Serializable)
	 */
	@Override
	public void delete(String id) {
		// TODO 自动生成的方法存根
		this.getSession().delete(id);
	}

	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.GenericDao#flush()
	 */
	@Override
	public void flush() {
		// TODO 自动生成的方法存根
		this.getSession().flush();
	}
	/* （非 Javadoc）
	 * @see myTeam.timeShop.dao.RequestDao#getAllMyNoSeeRequest(java.lang.String)
	 */
	@Override
	public List<TbRequest> getAllMyNoSeeRequest(String filterUserId) {
		
		@SuppressWarnings("unchecked")
		List<TbRequest> list = this.getSession().getNamedQuery("getAllMyNoSeeRequest").setString(0, filterUserId).list();
		return list;
	}

}
